목차
학습 목표
- 판다스 데이터프레임의 개념을 이해한다.
- 데이터프레임을 생성·조작·분석할 수 있다.
- 데이터를 시각화하고 파일로 저장할 수 있다.
📖 목차
- 11.1 판다스 데이터프레임
- 11.2 데이터 전처리
- 11.3 판다스 함수
- 11.4 파일 데이터 이용
- 11.5 [플러스 예제] 자동차 배기량과 CO₂ 배출량
11.1 판다스 데이터프레임
판다스(Pandas)는 데이터를 분석하고 처리하기 위한 대표적인 파이썬 라이브러리이다.
본 예제는 pandas 데이터프레임을 이용한 데이터 처리(선택, 계산, 전처리)의 기본 흐름을 보여 준다.
import pandas as pd
데이터프레임 생성
본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.
data = {
"name": ["민수", "지수", "영희"],
"test": [85, 90, 78],
"assign1": [80, 88, 75],
"assign2": [82, 92, 70]
}
df = pd.DataFrame(data)
print(df)
열 선택
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
print(df["name"])
print(df[["name", "test"]])
데이터프레임 순회
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
for idx, row in df.iterrows():
print(idx, row["name"], row["test"])
11.2 데이터 전처리
열 연산 및 조건 처리
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
df["sum"] = df["test"] + df["assign1"] + df["assign2"]
df["grade"] = df["sum"].apply(
lambda x: "A" if x >= 90 else ("B" if x >= 80 else "C")
)
print(df)
정렬과 삭제
본 예제는 리스트의 기본 조작을 다룬다. append()는 끝에 원소를 추가하고, insert()는 원하는 위치에 삽입하며, remove()는 지정한 값을 삭제한다. 또한 sort()를 이용하여 리스트를 정렬할 수 있음을 확인한다.
df_sorted = df.sort_values(by="sum", ascending=False)
df.drop("assign2", axis=1, inplace=True)
누락 데이터 처리
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
df.isna().sum()
df.fillna(0, inplace=True)
11.3 판다스 함수
통계 함수
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
print(df.describe())
문자열 함수
본 예제는 문자열 메서드를 활용하여 대소문자 변환, 부분 문자열 탐색, 구성 검증을 수행하는 방법을 보인다. 입력 문자열의 형태를 통일하거나(upper/lower), 포함 여부를 판정(find), 조건을 검사(isalnum, len)하는 흐름이 포함된다.
df["name"] = df["name"].str.upper()
11.4 파일 데이터 이용
CSV 파일 불러오기
본 예제는 read_csv()로 CSV 파일을 불러와 데이터프레임으로 적재하는 절차를 제시한다. head()로 일부 행을 확인하면 열 구조와 데이터 상태를 빠르게 점검할 수 있다.
df = pd.read_csv("precipitation.csv")
print(df.head())
CSV 파일 저장
본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.
df.to_csv("output.csv", index=False)
11.5 [플러스 예제] 자동차 배기량과 CO₂ 배출량
본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.
import matplotlib.pyplot as plt
data = {
"engine": [1000, 1600, 2000, 2500],
"co2": [120, 150, 180, 220]
}
df = pd.DataFrame(data)
plt.scatter(df["engine"], df["co2"])
plt.xlabel("배기량")
plt.ylabel("CO₂ 배출량")
plt.title("배기량과 CO₂ 배출량 관계")
plt.show()